home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / Goodies / NEWINT~1 / TRACBA~1 / TRACBA~1.BAS < prev    next >
BASIC Source File  |  1997-06-04  |  1KB  |  31 lines

  1. Attribute VB_Name = "SubClass"
  2. Option Private Module
  3. Option Explicit
  4. Public NextProcs As Long
  5. Public Nodef As Boolean
  6. Public Const WM_SIZE = &H5
  7. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  8. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Any) As Long
  9. Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal wndrpcPrev As Long, ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  10. Public Const GWL_USERDATA = (-21)
  11. Public Const GWL_WNDPROC = -4
  12. Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, _
  13. ByVal wParam As Long, ByVal lParam As Long) As Long
  14. On Error Resume Next
  15.   
  16. Select Case hwnd
  17.  
  18.  
  19. Case Form1.hwnd
  20.      Form1.ProcMsg hwnd, uMsg, wParam, lParam, 0& ', 0&
  21.  
  22. End Select
  23. If Nodef = True Then
  24. WindowProc = CallWindowProc(NextProcs, hwnd, uMsg, wParam, ByVal lParam)
  25. Else
  26. Nodef = False
  27. Nodef = True
  28. End If
  29. End Function
  30.  
  31.